JVM G1详解

您所在的位置:网站首页 jvm G1参数 JVM G1详解

JVM G1详解

2023-09-19 00:53| 来源: 网络整理| 查看: 265

java程序性能

当我们调优java程序时,通常的目标有两个: 响应能力 或者 吞吐量

响应能力

响应能力指一个程序或者系统对请求的是否能够及时响应。 比如: 一个桌面UI能多快的响应一个事件; 一个网站能够多快返回一个页面请求; 数据库能够多快返回查询的数据;

对于这类对响应能力敏感的场景,长时间的停顿是无法接受的。

吞吐量

吞吐量关注的是,在一个指定的时间内,最大化一个应用的工作量。 如下方式来衡量一个系统吞吐量的好坏:

在一小时内同一个事务(或者任务、请求)完成的次数(tps)。 数据库一小时可以完成多少次查询;

对于关注吞吐量的系统,卡顿是可以接受的,因为这个系统关注长时间的大量任务的执行能力,单次快速的响应并不值得考虑。

应用程序运行实际/实际时间(开始时间戳-结束时间戳)

understanding TPS

G1 Garbage Collector

G1垃圾收集器

g1收集器是一个面向服务端的垃圾收收集器,适用于多核处理器、大内存容量的服务端系统。 它满足短时间gc 停顿的同时达到一个高的吞吐量。JDK7以上版本适用。

g1收集器的设计目标:

与应用线程同时工作,几乎不需要stop-the-world(与CMS类似); 整理剩余空间,不产生内存碎片;(CMS只能在full-GC时,用stop-the-world整理碎片内存) GC停顿更加可控; 不牺牲系统的吞吐量; gc不要求额外的内存空间(CMS需要预留空间存储浮动垃圾);

G1的设计规划,是要替换掉CMS。

G1在某些方便弥补了CMS的不足,比如,CMS使用的是mark-sweep算法,自然会产生内存碎片;然而G1基于copying算法,高效的整理剩余内存,而不需要使用free-list去管理内存碎片。 另外,G1提供了



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3